package com.huawang.mdesign.model.service.request;

import com.huawang.business.constants.ParamErrorConstants;
import com.huawang.business.dto.ProjectIdDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

@Data
public class CheckValidModelTypeDTO extends ProjectIdDTO {
    @Schema(title = "项目id")
    @NotBlank(message = ParamErrorConstants.NO_PROJECT_ID)
    private String projectId;

    @Schema(title = "模型id")
    @NotBlank(message = ParamErrorConstants.NO_INSTANCE_ID)
    private String instanceId;

    @Schema(title = "待校验模型列表")
    @NotEmpty(message = ParamErrorConstants.NO_IDS)
    private List<String> ids;

    @Schema(title = "自定义模型筛选方法")
    private String checkMethod;

    @Schema(title = "具体校验的模型类型列表")
    private Set<String> typeIds;

    @Schema(title = "模型IDs")
    private List<String> instanceIds = new ArrayList<>();
}
